The need to provide secure computing environments is one of the most difficult challenges presently facing information technology professionals. The damage caused by security breaches to enterprise computing platforms may number in the millions of dollars, depending upon the severity of the breach and the type of data accessed. To address these concerns, software developers engage in a constant battle against malicious users to improve security protocols and address security flaws as they are uncovered. As a result of the race between security professionals and malicious users, it is common for new security protocols to be developed and updated to address flaws and to provide improved security functionality.
As these security protocols are updated to fix vulnerabilities and to provide increased functionality, it may be necessary to update both a client and a server for applications that are remotely hosted due to the need to ensure compatibility between the security protocols used by the client and server. However, in some scenarios it may not be practical to update all clients at the same time as the server is updated. For example, multiple different users may operate clients at different facilities using a single central server, and it may not be possible to coordinate a simultaneous rollout of an updated client. In such a case, clients that have not yet updated may not be able to connect to the updated server, resulting in downtime until those clients receive the update. In other cases, different clients may have different security requirements, but tight coupling between clients and the server may prevent the implementation of different security models by clients using the same server.
As another example, content management systems exist that receive content items from a variety of external systems. In order to ensure the integrity and security of received content, these content management systems may require the external systems to implement particular security models. However, in order to update or change the security model utilized by the content management system, each separate external system must also be updated to reflect any changes made to security model employed by the content management system. This may require updates or changes to the content management system to be delayed until all client systems are configured to be compatible with a new release that has changes that impact the security model.
Through applied effort, ingenuity, and innovation, the inventors have solved many of these identified problems by developing a technical solution that is embodied by the present invention, which is described in detail below.